perm filename SCNPRS.DOC[HAL,HE] blob sn#142787 filedate 1975-01-24 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	The scanner-parser package built by Bertrand Meyer has three major
C00005 ENDMK
CāŠ—;
The scanner-parser package built by Bertrand Meyer has three major
components.  The first is a lexical scanner.  It uses a table of
character meanings, and returns tokens in global variables as it
finds them.  The scanner is capable of optionally placing all tokens
it finds in the symbol table and of expanding macros.  The macro
processor is quite powerful. 

The metascanner can be used instead of the scanner; it places one
extra level of control between the program and the scanner.  This
level treats a class of requirements such as source file switching,
character meaning modification, comment delimiter modification, and
macro definitions. 

The parser-generator (known as PL, parser language) takes a parser
specification file and creates a parser which is capable of being
interfaced into the scanner.  The language of specification is a
modified form of Floyd productions, which embody a general and
powerful approach to parsing.  The system can be specified in both
top-down and bottom-up form. 

All of these parts are written in SAIL.  The scanners are intended to
be of general use to the AI lab community, and their source code is
all on [CSP,SYS].  Documentation can be found on SCAN.BBM[UP,DOC]. 
The parser-generator was designed for the HAL group, although it
should be of general use.  The source code is PARSER.SAI[HAL,HE], and
Documentation exists as PL.DOC[HAL,HE].